package com.ilink.groundservice.service.Practice;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ilink.groundservice.entity.VO.AiX.AiXPracticeRecordResponse;
import com.ilink.ilinkapi.dto.ground.AiX.AiXPracticeRecordRequest;

import java.util.List;
import java.util.Map;

public interface AiXPracticeRecordService {

    /**
     * 开始实践项目
     */
    Long startPracticeProject(Long projectId, String userId);

    /**
     * 提交实践作业
     */
    void submitPracticeWork(Long projectId, String userId, String notes);

    /**
     * 结束实践项目
     */
    void endPracticeProject(Long projectId, String userId, Integer score);

    /**
     * 更新实践记录
     */
    void updatePracticeRecord(AiXPracticeRecordRequest request, String userId);

    /**
     * 获取用户实践记录
     */
    IPage<AiXPracticeRecordResponse> getUserPracticeRecords(String userId, String status, Integer page, Integer size);

    /**
     * 根据用户和项目获取实践记录
     */
    AiXPracticeRecordResponse getPracticeRecordByUserAndProject(String userId, Long projectId);

    /**
     * 获取用户实践统计信息
     */
    Map<String, Object> getUserPracticeStatistics(String userId);

    /**
     * 获取用户已完成的实践项目
     */
    List<AiXPracticeRecordResponse> getCompletedPracticeRecords(String userId);

    /**
     * 获取用户正在进行的实践项目
     */
    List<AiXPracticeRecordResponse> getInProgressPracticeRecords(String userId);
} 